]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
misc: Add missing check on reply from systemd's CanSuspend D-Bus method
authorMario Sanchez Prada <mario@endlessm.com>
Wed, 22 Apr 2015 22:00:16 +0000 (23:00 +0100)
committerMario Sanchez Prada <mario@endlessm.com>
Wed, 22 Apr 2015 22:17:45 +0000 (23:17 +0100)
According to systemd logind's documentation, the CanSuspend() method
"returns 'na' in case "the operation is not available because hardware,
kernel or drivers do not support it", while "'no' is returned if the
operation is available but the user is not allowed to execute it".

See http://www.freedesktop.org/wiki/Software/systemd/logind

Thus, we need to return true here when the reply for the CanSuspend
method is neither 'no' nor 'na', or we would providing false positives
in cases where suspension is simply unsupported.

https://bugzilla.gnome.org/show_bug.cgi?id=748338

js/misc/loginManager.js

index b4ed4a6a3209657e23ce737aa88ced2a054cc66a..6ed8262262e023d92ee94b01eca4eeb0694d9351 100644 (file)
@@ -134,7 +134,7 @@ const LoginManagerSystemd = new Lang.Class({
             if (error)
                 asyncCallback(false);
             else
-                asyncCallback(result[0] != 'no');
+                asyncCallback(result[0] != 'no' && result[0] != 'na');
         });
     },